CreateAccount
The CreateAccount web service
XML- or JSON-based information exchange systems that use the Internet for direct application-to-application interaction. These systems can include programs, objects, messages, or documents. enables an external client system to create an account
In the Cloud Monetisation Platform, a billing entity that can be used to manage payments on one or more subscriptions or payments for services. An account can hold details such as payments or invoices. within CMP
Converged Monetisation Platform. The MDS Global product that supports customer care and billing for digital service providers. either as a single entity, or as part of an existing CMP Corporate structure.
The request includes the following:
- Account address information
- Payment Type and Payment Terms
- Bank account and credit card details (if appropriate)
The user
A person with the capability to log in to the CMP GUI software, such as a customer service advisor or agent. must pass in a valid CMP Company Number. Standard CMP rules associated with creating an Account govern which values are mandatory or optional.
To attach the new Account to an existing Corporate structure, a valid Corporate Code must be passed in as part of the web service request.
The web service returns a response containing the newly created Account Number.
Submission of invalid data for the above criteria results in an error message.
CreateAccount Request
The CreateAccount tag instructs the Account Service to create an Account. This request contains the following elements:
|
Element Name |
Content Type |
Description |
Required? |
|---|---|---|---|
|
ExternalReference |
String69 |
The client may use this identifier to correlate the request and the response. |
Optional |
|
AccountData |
Container |
See Create AccountData Request Container for details. |
Mandatory |
AccountData Request Container
The AccountData request container contains the following elements:
|
Element Name |
Content Type |
Description |
Required? |
|---|---|---|---|
|
CompanyNumber |
String3 |
The valid company number to be assigned to the account. Value must already be set up in CMP. |
Mandatory |
|
Address |
Container |
Choice of:
|
Mandatory |
|
PaymentType |
String6 |
If not supplied, the value that is defaulted in comes from the Company Maintenance, Default Payment Type field. A list of valid payment types is configured in CMP setup. The payment type drives what the valid payment terms are. The list of payment types presented are governed by whether the redirect payment feature is being used. The default is to use this feature. The PaymentType field determines the required payment details to be supplied. Each payment type is associated via setup with a payment method. Example payment methods are:
|
Optional |
|
PaymentTerm |
String3 |
If not supplied, the value that is defaulted in comes from the Account Default Parms Maint. The field is ADVPaymentTermsAR. If there is a default payment term specified in the default payment terms for the payment type that is used instead. The payment terms that are valid depend on the PaymentType and CompanyNumber that were provided. |
Optional |
|
AccountType |
String3 |
Account Types indicate the type of Account to which Subscriptions belong, for example, 001 = VIP, 002 = Bad Debt. This is a classification of the Account. If not supplied, the value that is defaulted in comes from the Account Default Parms Maint. The field is ADVSalesPersonCode. Value must be a valid Account Type. |
Optional |
|
SubLedgerCode |
String6 |
This references an extra level of detail in the General Ledger and links to the external financials software. The main use of this code is to enable direct debits to be claimed from the bank account. If not supplied, the value that is defaulted in comes from the Subledger field in Account Default Parms Maint. Value must be a valid Sub Ledger Code. |
Optional |
|
CreditLimit |
Integer9 |
Relates to a set limit for invoiced but unpaid charges. It can also be used in conjunction with usage limits which applies to unbilled units. Exceeding the limit can trigger an automated procedure. When unpaid charges reach a set amount a recovery procedure commences. |
Optional |
|
HardwareCreditLimit |
Integer9 |
This is the maximum amount of an order that is permitted.It is only used if the Hardware Credit Limit toolbox feature is switched on. |
Optional |
|
AccountPassword |
String20 |
Password as specified by the user / customer. |
Optional |
|
AccountPin |
Integer4 |
A randomly generated number will be supplied. |
Optional |
|
AccountUsage |
String - Enumeration |
This indicator controls what the Account can be used for. If no value is supplied then this defaults to SubscriptionAndSales/Both. Valid values are Subscription, SubscriptionAndSales and Sales. These appear in the CMP GUI as
|
Optional |
|
BankAccountNumber |
String20 |
Only applicable if SEPA* is switched off . This optional field becomes mandatory and valid ONLY if the payment method associated with the Payment Type is Direct Debit. Setup can configure the valid lengths of the bank account number. |
Optional |
|
BankSortCode |
String20 |
Only applicable if SEPA* is switched off. This optional field becomes mandatory and valid ONLY when the payment type has a payment method of Direct Debit. |
Optional |
|
BankName |
String30 |
Only applicable if SEPA* is switched off. If this is supplied it is stored as supplied and not validated. If it is not supplied then the sort code is used to retrieve the bank name from the CMP bank header table. For SEPA*, the request will be rejected if the Bank Name is included in the request. It will always retrieve the bank name from the CMP bank header table using the BIC. |
Optional |
|
ControlDigit |
String2 |
Usually only supplied when the Payment Type has a payment method of Direct Debit. |
Optional |
|
NameOfPayer |
String30 |
This becomes mandatory when the Payment Type has a payment method of Direct Debit. Use the following format for this field: |
Optional |
|
DateMandateReceived |
Date |
This is the date that the DD mandate was received. For electronic forms of DD Mandate this should be set to the current date. For paper mandates, it’s the date that the mandate was received by the relevant back office individual. YYYY-MM-DDZ Usually only supplied when the Payment Type has a payment method of Direct Debit. |
Optional |
|
DDSetupMethodCode |
String6 |
Usually only supplied when the Payment Type has a payment method of Direct Debit. |
Optional |
|
CorporateCode |
String6 |
The Corporate to which the Account will be added. If not specified, the account will not be associated with any corporate. If required an Account can be standalone or it can form part of a larger corporate structure. |
Optional |
|
EmailAddress |
String |
This adds an e mail address with the default email address type. The default e mail address type is defined in setup. |
Optional |
|
AccountSerialNumbers |
Container |
A container for one or more Account Serial Numbers. It is possible to configure up to 999 different serial numbers via setup. See Create AccountSerialNumber Request Container for details. |
Optional |
|
PaymentCardToken |
Container |
See Payment Card Token Request Container for details. |
Optional |
|
MandateReference |
String35 |
Only applicable and mandatory if SEPA* is switched on. |
Mandatory for SEPA only |
|
MandateSignatureDate |
Date |
Only applicable if SEPA* is switched on. |
Optional |
*SEPA is turned on via setting the System Property parameter group
In the Customer Manager Platform hierarchy, the highest level of the structure. The group level can be used to group corporates. Groups can hold financial information. DIRECT.DEBIT.PAYMENT.SCHEME to have a value of SEPA. The default is to use BACS
Bankers Automated Clearing Services. A system in the United Kingdom for making payments directly from one bank account into another..
Address Request Container
The Address request container instructs the Address Service to update an Account with an address. This request contains the following elements:
|
Element Name |
Content Type |
Description |
Required? |
|---|---|---|---|
|
AddressData |
Container - Choice |
Choice of:
|
Mandatory |
Personal Address Errors
For Personal Addresses, if multiple mandatory fields are not supplied the following error (the details depend on the fields not supplied) is returned:
<Error>
<MessageId>MISSING_ADDRESS_FIELD</MessageId>
<MessageText>Please complete the Title,Middle Name,Surname,Address Line 1,Address Line 2,Address Line 3,
Address Line 4,Address Line 5,Postcode,Daytime Telephone,Evening Telephone,Fax Number,
Address Type,Address Category,Occupation,Id Number,Date Of Birth,Date Of Residence,
Gender field(s)</MessageText>
<ExtraInfo>Title,Middle Name,Surname,Address Line 1,Address Line 2,Address Line 3,
Address Line 4,Address Line 5,Postcode,Daytime Telephone,Evening Telephone,Fax Number,
Address Type,Address Category,Occupation,Id Number,Date Of Birth,Date Of Residence,
Gender</ExtraInfo>
</Error>
Business Address Errors
For Business Addresses, if multiple mandatory fields are not supplied the following error (the details of course depends on the fields not supplied, the complete list is shown here) is returned:
PersonalAddress Request Container
The PersonalAddress request container has the following elements:
|
Element Name |
Content Type |
Description |
Required? |
|---|---|---|---|
|
Title |
String10 |
The customer's appropriate title for example Mr, Mrs, Miss, Ms or Dr. This field is always mandatory but can be made optional via configuration if required. |
Mandatory |
|
Forename |
String50 |
Customer's first name. |
Optional |
|
MiddleName |
String20 |
Customer's middle name. |
Optional |
|
Surname |
String50 |
Customer's surname. |
Mandatory |
|
Address1 |
String60 |
Line one of the customer's address. |
Mandatory |
|
Address2 |
String60 |
Line one of the customer's address. |
Optional |
|
Address3 |
String60 |
Line one of the customer's address. |
Optional |
|
Address4 |
String60 |
Line one of the customer's address. |
Optional |
|
Address5 |
String60 |
Line one of the customer's address. |
Optional |
|
Postcode |
String10 |
Customer's post code. Must be entered without spaces. |
Optional |
|
DateOfBirth |
Date |
Customer's date of birth, in the format YYYY-MM-DD. |
Optional |
|
Gender |
String |
Choice of: Male, Female, Unknown or BLANK. |
Optional |
|
MaritalStatus |
String |
Choice of: Married, Single, Widowed, Divorced, Other, Separated or BLANK. |
Optional |
|
DateOfResidence |
Date |
The date from which the customer has lived at the address specified, in the format YYYY-MM-DD. |
Optional |
|
CustomerType |
String10 |
Selected from one of the available Customer Types configured in CMP. |
Optional |
|
AddressType |
String10 |
Identifies if the customer is a home owner, renting, living with parents, council tenant etc. Configurable CMP list. |
Optional |
|
AddressCategory |
String10 |
Indicates property value. A category range relating to the address. Configurable CMP list. |
Optional |
|
Occupation |
String10 |
The customer's current occupation. Configurable CMP list. |
Optional |
|
IDType |
String10 |
The available type of ID used as proof of identity for example passport or driving license. Configurable CMP list. If the ID type used is SALESPERSN, the Salesperson ID is entered as the ID Number. If this number does not match an existing Salesperson ID number in the CMP database, a new record for the salesperson is created in the salesForce database table . |
Optional |
|
IDNumber |
String30 |
The unique ID from the proof of identity. If a salesperson ID number is used, the ID must be numbers only in the range 0 - 99999999. |
Mandatory if the IDType specified is SALESPERSN. Otherwise optional. |
|
TelephoneNumber |
String15 |
Customer's main contact telephone number. |
Optional |
|
EveningTelephoneNumber |
String15 |
Customer's additional telephone number they can be reached on. |
Optional |
|
FaxNumber |
String15 |
Customer's fax number. |
Optional |
CMP configuration controls which elements are mandatory and optional. Standard validation settings can be changed via CMP back office setup: DISESETUP > 5. Subscriber Registration Set up > 15. Delivery Address Set Up > 8. Field Validation Maintenance. Enter 'P' for Personal Address.
BusinessAddress Request Container
The BusinessAddress request container has the following elements:
|
Element Name |
Content Type |
Description |
Required? |
|---|---|---|---|
|
CompanyName |
String60 |
Name of company. |
Mandatory |
|
Address1 |
String40 |
Line one of the company's address. |
Mandatory |
|
Address2 |
String40 |
Line two of the company's address. |
Optional |
|
Address3 |
String40 |
Line three of the company's address. |
Optional |
|
Address4 |
String40 |
Line four of the company's address. |
Optional |
|
Address5 |
String40 |
Line five of the company's address. |
Optional |
|
Postcode |
String10 |
Company's postcode. Must be entered without spaces. |
Optional |
|
CompanyTelephoneNumber |
String15 |
Company's main contact telephone number. |
Optional |
|
ContactTelephoneNumber |
String15 |
The individual's contact telephone number. |
Optional |
|
FaxNumber |
String15 |
Company's fax number |
Optional |
|
CompanyType |
String10 |
Indicates the type of company. Configurable CMP list. |
Optional |
|
AddressType |
String10 |
Identifies the company's address. Configurable CMP list. |
Optional |
|
AddressCategory |
String10 |
Indicates property value. A category range relating to the address can be configured. Configurable CMP list. |
Optional |
|
IndustrialClassificationCode |
String10 |
Indicates the industry the company resides. Configurable CMP list. |
Optional |
|
CompanyRegistration |
String25 |
Unique ID the company is registered to. |
Optional |
|
DateOfIncorporation |
Date |
The date the company register at the address specified in the format YYYY-MM-DD. |
Optional |
|
Title |
String10 |
Company's contact title. |
Optional |
|
Forename |
String15 |
Company's contact first name. |
Optional |
|
MiddleName |
String10 |
Company's contact middle name. |
Optional |
|
Surname |
String25 |
Company's contact surname name. |
Optional |
|
JobTitle |
String30 |
Company's contact job title. |
Optional |
CMP configuration controls which elements are mandatory and optional. Standard validation settings can be changed via CMP back office setup: DISESETUP > 5. Subscriber Registration Set up > 15. Delivery Address Set Up > 8. Field Validation Maintenance. Enter 'C' for Company Address.
AccountSerialNumbers Request Container
The AccountSerialNumber request container contains the following elements:
|
Element Name |
Content Type |
Description |
Required? |
|---|---|---|---|
|
SerialNumberId |
Range 1-999 |
The Managed Serial Number identification number. Must be a valid ID number in CMP configuration. |
Mandatory |
|
SerialNumberValue |
String25 |
The actual network serial number value, for example mobile phone number. The default value that can be set up only applies to the CMP GUI. Each serial number field can be configured via set up with the applicable allowed values, field type, and min and max allowable values. |
Mandatory |
PaymentCardToken Request Container
The PaymentCardToken request container contains the following elements:
|
Element Name |
Content Type |
Description |
Required? |
|---|---|---|---|
|
CardReference |
VARCHAR(100) |
The tokenised string representing the card. |
Mandatory |
|
CardNumber |
String4 |
The last four digits of card number. |
Optional |
|
NameOnCard |
String20 |
The name of the cardholder exactly as displayed on the card. |
Optional |
|
StartYear |
String2 |
The year from which the card becomes valid, as shown on the card. |
Optional |
|
StartMonth |
String2 |
The month from which the card becomes valid, as shown on the card. |
Optional |
|
ExpiryYear |
String2 |
The year that the card expires, as shown on the card. |
Mandatory |
|
ExpiryMonth |
String2 |
The month that the card expires, as shown on the card. |
Mandatory |
Sample Create Account Request
CreateAccount Response
The CreateAccount response is the response to the CreateAccount request. This contains the following elements:
|
Element Name |
Content Type |
Description |
Required? |
|---|---|---|---|
|
ExternalReference |
String69 |
Returned unmodified in the response. The client may use this identifier to correlate the request and the response. |
Optional |
|
AccountNumber |
Integer8 |
The number automatically allocated to the account upon creation in CMP. |
Mandatory |
The CreateAccount response returns a failure response if a Hardware Credit Limit is required and has not been provided.
Sample CreateAccount Response
Failure Scenarios
Bank account validation failure scenarios are in place for the CreateAccount web service.
Examples are given below: